package com.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author WangZhen
 * @since 2021-11-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("skill_origin")
@NoArgsConstructor
public class SkillOrigin implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 技能id，用于和user的精灵绑定
     */
    private Integer skillId;

    /**
     * 技能名称
     */
    private String skillName;

    /**
     * 威力，伤害为威力*(攻击属性值-对手防御属性)/100
     */
    private Integer power;

    /**
     * 1为物理，2为特殊，3为属性
     */
    private Integer type;

    /**
     * 这个技能对应的属性，以后增加属性关系有用
     */
    private String shuxin;

    /**
     * 备注效果
     */
    private String remark;

    /**
     * 下降对手攻击，1为不变
     */
    private Integer atkDownIt;

    /**
     * 下降对手防御，1为不变
     */
    private Integer defDownIt;

    /**
     * 下降对手特工
     */
    private Integer satkDownIt;

    /**
     * 下降对手特防
     */
    private Integer sdefDownIt;

    /**
     * 下降对手速度
     */
    private Integer speDownIt;

    /**
     * 提升自己攻击
     */
    private Integer atkUpSelf;

    /**
     * 提升自己防御
     */
    private Integer defUpSelf;

    /**
     * 提升自己特攻
     */
    private Integer satkUpSelf;

    /**
     * 提升自己特防
     */
    private Integer sdefUpSelf;

    /**
     * 提升自己速度
     */
    private Integer speUpSelf;

    /**
     * 下降自己攻击
     */
    private Integer atkDownSelf;

    /**
     * 下降自己防御
     */
    private Integer defDownSelf;

    /**
     * 下降自己特攻
     */
    private Integer satkDownSelf;

    /**
     * 下降自己特防
     */
    private Integer sdefDownSelf;

    /**
     * 下降自己速度
     */
    private Integer speDownSelf;

    public SkillOrigin(Integer skillId, String skillName, Integer power, Integer type, String shuxin, String remark, Integer atkDownIt, Integer defDownIt, Integer satkDownIt, Integer sdefDownIt, Integer speDownIt, Integer atkUpSelf, Integer defUpSelf, Integer satkUpSelf, Integer sdefUpSelf, Integer speUpSelf, Integer atkDownSelf, Integer defDownSelf, Integer satkDownSelf, Integer sdefDownSelf, Integer speDownSelf) {
        this.skillId = skillId;
        this.skillName = skillName;
        this.power = power;
        this.type = type;
        this.shuxin = shuxin;
        this.remark = remark;
        this.atkDownIt = atkDownIt;
        this.defDownIt = defDownIt;
        this.satkDownIt = satkDownIt;
        this.sdefDownIt = sdefDownIt;
        this.speDownIt = speDownIt;
        this.atkUpSelf = atkUpSelf;
        this.defUpSelf = defUpSelf;
        this.satkUpSelf = satkUpSelf;
        this.sdefUpSelf = sdefUpSelf;
        this.speUpSelf = speUpSelf;
        this.atkDownSelf = atkDownSelf;
        this.defDownSelf = defDownSelf;
        this.satkDownSelf = satkDownSelf;
        this.sdefDownSelf = sdefDownSelf;
        this.speDownSelf = speDownSelf;
    }
}
